﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SimpleTaskManager.Domain.Entities
{
    /// <summary>
    /// The class to represent a user in the system
    /// </summary>
    public class User
    {
        /// <summary>
        /// ID field
        /// </summary>
        public int UserID { get; set; }

        /// <summary>
        /// The user's login name
        /// </summary>
        public string Login { get; set; }

        /// <summary>
        /// The HASH(!) of the user's password
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// The role which describes the permissions of the user
        /// </summary>
        public UserRole Role { get; set; }

        /// <summary>
        /// The list of the user's skills
        /// <remarks>Type change probable</remarks>
        /// </summary>
        public IEnumerable<UserSkill> Skills { get; set; }

        //some personal infos next: name, address, e-mail,...
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public string Country { get; set; }
        public string ZIP { get; set; }
        public string Email { get; set; }
        public string Phone { get; set; }
        public string Position { get; set; }
        public string PersonalID { get; set; }
        public DateTime DateOfBirth { get; set; }

        public DateTime CreationDate { get; set; }

        public StatusEnum Status { get; set; }
    }

    public enum StatusEnum { OnALeave, Hired, InActive }
}